The present invention relates to controlling application instances using graphical user interfaces. In particular, the invention relates to controlling an application instance using a user input control displayed in a thumbnail representation of the application instance.
Computing devices running modern operating systems usually provide a graphical user interface (GUI) with which a user interacts with the operating system. An example GUI is shown in FIG. 1. The GUI 1 includes a desktop 2. The desktop 2 includes multiple icons 3, which the user can use to open (i.e. run) instances of applications (e.g. word-processing applications, spreadsheet applications and the like). The desktop 2 further includes a “taskbar” 4, which is a portion at the bottom of the desktop comprising multiple icons 5 which correspond to applications with currently open application instances. When an application instance has been minimised (i.e. hidden from the desktop but not closed), or is not visible due to another application instance being in the foreground (i.e. “in front” of it), it can be restored so that is visible to the user by clicking on its icon 5 in the taskbar 4.
As well as allowing instances of different applications to be open at the same time, it is common for GUI operating systems to allow multiple instances of the same application to be open at the same time. It is common for multiple instances of a particular application to share the same icon 5 in taskbar 4. To allow a particular instance of an application to be restored, when the icon 5 for the application (in this case the right-hand icon) is clicked or hovered-over with the mouse pointer, “thumbnails” 6 of the instances of application instances are displayed. The thumbnails 6 are reduced-size versions of the display the application instances would have were they displayed to the user at normal size by the GUI. A particular instance of the application can then be restored by clicking its thumbnail 6.
This system has a number of disadvantages. When closing an application instance, it is often the case that before closing, the application instance will provide a dialog box containing a question the user, for example to allow unsaved changes to a document to be saved, or merely to confirm that the user definitely wishes to close the application. The user then has to restore the instance of the application so that they can answer the dialog box question before the application instance will close. Restoring the application instance to the foreground can be computationally intensive, and can result in a large portion (in some cases all) of the desktop being covered by the application instance merely to allow the dialog box to be shown.
In the case that an application as a whole for which there are multiple open application instances is being closed, or the operating system as a whole is shutting down, the user will have to restore multiple application instances in turn in order to answer the dialog box question for each one. This can be time consuming and can lead to user errors, for example if the user erroneously chooses not to save changes to a document when instances are not restored in the order they are expecting.
In the case that the GUI is displayed upon multiple monitors, a restored application instance may appear on a non-primary monitor, which then requires the user to move their mouse to the relevant monitor answer the dialog box question.
Another disadvantage arises where application instances are multitasked, so that the user has started an application instance on a task (e.g. to copy a number of files to a new location) and then minimised it so that they can interact with other application instances to perform other tasks while the original application instance is working. In this case, the minimised application instance may display a dialog, for example asking for a password, for confirmation on whether to use a potentially insecure connection, whether to skip a task that cannot be performed (e.g. due to a file being locked), or the like. In this case, the minimized application instance is suspended pending a response to the dialog box, and it is advantageous to bring this to the user's attention. Not doing so means that the user has to check the status of the minimised application instance at regular intervals, and when doing so they may find that it has been suspended for a long period pending a dialog box response.
Another disadvantage can arise where an application instance displays a dialog box containing details of a processing error, for example a stack error. In this case, the dialog box may contain details of the error, which can be very long, for example if a dump of stack code is included. In this case, the buttons provided for the user can be off the bottom of the screen, due to the size of the dialog box necessary to contain the error details. In this case, it can be inconvenient or even impossible for the user to respond to the dialog box.
The present invention seeks to solve and/or mitigate some or all of the above-mentioned disadvantages. Alternatively or additionally, the present invention seeks to provide an improved controlling of application instances using a graphical user interface.